1. The Field of the Invention
This invention relates to computer systems for generating graphic images and, more particularly, to novel systems and methods for minimizing the un-rendering and rendering of curves that are modified.
2. The Background Art
Line drawings of images are commonly produced and manipulated by graphics artists, illustrators, and increasingly broader sectors of computer users. Frequently, such images are composed of complex curves, resulting from either manual creation modes, such as those afforded by curve drawing tools, or quasi-automated creation modes, such as those afforded by tracing and autotracing tools Depending on the skill level of the computer user, creating curves on a computer can be a very difficult process. Manipulating (e.g. changing, editing, modifying) existing curves can pose even greater challenges to the computer user because of the tedium of using existing software tools, or the time consumed by using existing software tools, or the complexity of the curves to be manipulated.
In many cases, the desired manipulations of existing curves involve changing the level of detail or tightness (or, conversely, smoothness) of a curve relative to what it represents. More detailed (tighter) renditions of a curve may reflect improved fidelity in representing a desired feature or contour of an image. Less detailed (smoother) renditions of a curve may reflect improved abstraction or stylistic rendition relative to what a curve represents. Additional considerations in determining the optimal degree of tightness of a curve rendition may include the existence and extent of undesirable artifacts (such as from digital scans of scenes or other images) as well as primary and secondary memory requirements for storage of such curves. Circumstances dictating the degree of tightness or smoothness of a curve rendition may vary from person to person, application to application, or even time to time.
What is needed is a method and apparatus which permits even a relatively unskilled user to easily and quickly manipulate the tightness of rendition of existing curves, even very complex curves. For example, it would be of great benefit to be able to create, such as from existing curves or sequences of points produced by tracing and autotracing tools, a multi-curve object containing many potential renditions corresponding to a multitude of curve rendition tightnesses. Furthermore, it would be of great benefit to be able to efficiently effect minor (subtle) changes in tightness of complex curves by unrendering and re-rendering only those portions of the curves which change from one level of tightness to another level of tightness.